--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Commit c20656995df6e90ee6905278954fffabc9a2cae8
Parents : 801cec5
Author : Ivan <ivan@quad4.io>
Signature : Signature validation error
Date : 2026-06-02T09:19:31-05:00
feat(android): add verification for aiohttp vendor wheels in build process
Changes
3 files changed, 24 insertions(+), 1 deletions(-)
Diff
diff --git a/.github/workflows/android-apk-tag.yml b/.github/workflows/android-apk-tag.yml
index 5388eb8b..df9676cb 100644
--- a/.github/workflows/android-apk-tag.yml
+++ b/.github/workflows/android-apk-tag.yml
@@ -171,6 +171,9 @@ jobs:
run: |
set -euo pipefail
required=(
+ "aiohttp-3.13.5-*-cp311-cp311-android_24_arm64_v8a.whl"
+ "aiohttp-3.13.5-*-cp311-cp311-android_24_x86_64.whl"
+ "aiohttp-3.13.5-*-cp311-cp311-android_24_armeabi_v7a.whl"
"miniaudio-1.70-*-cp311-cp311-android_24_arm64_v8a.whl"
"miniaudio-1.70-*-cp311-cp311-android_24_x86_64.whl"
"miniaudio-1.70-*-cp311-cp311-android_24_armeabi_v7a.whl"
diff --git a/.github/workflows/android-build.yml b/.github/workflows/android-build.yml
index 013729f5..749b92a4 100644
--- a/.github/workflows/android-build.yml
+++ b/.github/workflows/android-build.yml
@@ -199,6 +199,9 @@ jobs:
run: |
set -euo pipefail
required=(
+ "aiohttp-3.13.5-*-cp311-cp311-android_24_arm64_v8a.whl"
+ "aiohttp-3.13.5-*-cp311-cp311-android_24_x86_64.whl"
+ "aiohttp-3.13.5-*-cp311-cp311-android_24_armeabi_v7a.whl"
"miniaudio-1.70-*-cp311-cp311-android_24_arm64_v8a.whl"
"miniaudio-1.70-*-cp311-cp311-android_24_x86_64.whl"
"miniaudio-1.70-*-cp311-cp311-android_24_armeabi_v7a.whl"
diff --git a/android/app/build.gradle b/android/app/build.gradle
index 711c6c26..4c93264d 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -106,9 +106,26 @@ tasks.register("syncCodec2JniLibs", Exec) {
}
}
+tasks.register("verifyVendorWheels") {
+ doLast {
+ def aiohttpVersion = "3.13.5"
+ def wheels = vendorWheelDir.list()?.toList() ?: []
+ selectedAndroidAbis.each { abi ->
+ def abiTag = abi.replace("-", "_")
+ def prefix = "aiohttp-${aiohttpVersion}-"
+ if (!wheels.any { it.startsWith(prefix) && it.contains("android_24_${abiTag}") }) {
+ throw new org.gradle.api.GradleException(
+ "Missing aiohttp ${aiohttpVersion} wheel for ${abi} in ${vendorWheelDir}. " +
+ "Run: bash scripts/build-android-wheels-local.sh --only-recipes aiohttp-3.13"
+ )
+ }
+ }
+ }
+}
+
tasks.configureEach { task ->
if (task.name == "preBuild") {
- task.dependsOn(tasks.named("syncCodec2JniLibs"))
+ task.dependsOn(tasks.named("syncCodec2JniLibs"), tasks.named("verifyVendorWheels"))
}
}
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────